refactor: use core hw activities#1044
Conversation
This comment has been minimized.
This comment has been minimized.
This comment was marked as outdated.
This comment was marked as outdated.
f3f9a2c to
435d9b0
Compare
|
Status update:
|
|
Status update after HW journey validation:
Remaining handoff: wait for checks/reviews on |
Trezor Android: #1044 vs #1062 — QA findingsDate: 2026-07-06 Scope mismatch
#1044 may be a stretch for 2.4.0: iOS Trezor is still behind, and for cross-platform consistency we should not ship HW tags or Explore inputs/outputs in 2.4.0. That fits 2.5.0 / #1029 instead. Finding 1: Trezor shows 0 balance + empty activity list (#1044)Symptom: Paired Trezor with known funds/history → app shows 0 sats and no activities. Not a Trezor/connect issue. Watcher starts; Core emits data; UI never updates. Cause: In Log evidence ( Likely persist root cause: HW activity ids = txids. Error on #1062: Updates Finding 2: Transfer shows duplicate rows — Transfer + Sent (#1044)On transfer to spending, activity list shows two rows for one flow:
Both appear in unified list; both are taggable. Not a quick polish issue — needs product rules for cross-wallet dedup/linking ( Finding 3: Scope ahead of 2.4.0 (#1044)#1044 adds:
Reasonable for 2.5.0 / #1029, but not aligned with a minimal, iOS-consistent 2.4.0 Trezor release. Prod / migration concernNot a prod issue today — no Trezor in prod. Before HW launch (2.5.0): migration must work on upgrade; UI must not depend on persist succeeding; transfer dedup needs design. Clear app data is a dev QA workaround, not a ship strategy. Recommendation
Later: cherry-pick #1062 reliability commits onto #1044 for 2.5.0; don’t merge as competing 0.3.9 paths. #1044 fixes needed (2.5.0, not blocking v1)
Links |
Addressed this Android-side gating issue: watcher state now updates before Core persistence, so the Trezor balance/activity UI stays live even if a Core upsert fails. Persistence failures are still logged with the watcher id, and received-transaction emission remains behind successful persistence. Validation: The migration/collision and transfer dedup points remain broader draft follow-ups outside this scoped fix. Resolved in f546f58 |
|
Set milestone to |
708cd21 to
794722a
Compare
ea9a252 to
5ae816a
Compare
The branch is now rebased on the merged #1062 and latest I reran the full Bridge flow on the current head with two independently funded and mined hardware receives. Both appeared once with the correct wallet scope, and list tabs, tags, tag filtering, Activity Detail, and Explore all used the persisted entries. Transfer-to-spending now reconciles the watcher-created sent activity with the transfer metadata. The Bridge run showed one pending This work remains scoped to Resolved in 5ae816a |
Closes #1029
Refs #998
Description
This PR:
bitkit-core0.4.0.bitkit-coreusing enum-backed wallet types, then preserves that wallet scope across watcher events, activity reads, tags, details, seen state, boost lookups, filters, navigation, and Explore.masterand allows on-device confirmations to complete within the Bridge signing timeout.Preview
No visual redesign. Existing Home, Activity Detail, tag filtering, and Explore surfaces now render wallet-scoped hardware activities from
bitkit-core.QA Notes
Manual Tests
Transfer / From Savingsactivity.regression:app on-chain and LN activities → Activity Detail, tags, filters, and Explore: behavior matchesmaster.Automated Checks
HwWalletRepoTest.kt,ActivityRepoTest.kt, andTransferRepoTest.ktcover wallet-scoped watcher ownership, canonical persistence, persistence recovery, watcher/removal races, transfer reconciliation, and removal purge behavior.TrezorRepoTest.kt,TrezorBridgeTransportTest.kt,TrezorViewModelTest.kt, andTrezorExceptionExtTest.ktcover Core-derived identity and Trezor transport, retry, busy, cancellation, and signing behavior.ActivityListViewModelTest.kt,ActivityDetailViewModelTest.kt,TransferViewModelTest.kt, andAppViewModelSendFlowTest.ktcover wallet-scoped filtering, boost relationships, detail routing, tags, and transfer metadata.activity-blue-icons.xml,activity-detail-hw-tags.xml,transfer-to-spending.xml, and its fee/warmup variants cover multiple transactions, hardware activity UI, the complete signing sequence, pending state, same-backend mining, and confirmed state.just compile,just test, andjust lintpassed; all hardware-wallet journey XML files passedxmllint.